package jpa.entitys.promis.construction;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the COST_CONTRACT_DEDUCT_PO database table.
 * 
 */
@Entity
@Table(name="COST_CONTRACT_DEDUCT_PO")
@NamedQueries({
    @NamedQuery(name = "CostContractDeductPo.findAll", query = " SELECT c FROM CostContractDeductPo c "),
    @NamedQuery(name = "CostContractDeductPo.findById", query = " SELECT c FROM CostContractDeductPo c WHERE c.id = :Id "),
    @NamedQuery(name = "CostContractDeductPo.findBySapPoNo", query = " SELECT c FROM CostContractDeductPo c WHERE c.syncExternalRefNo = :syncExternalRefNo And c.status = :status "),
    @NamedQuery(name = "CostContractDeductPo.findByStaging", query = " SELECT c FROM CostContractDeductPo c WHERE c.syncIsstaging = :syncIsstaging")
})
public class CostContractDeductPo extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private CostContractDeductPoPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="ARTICLE_CODE")
	private String articleCode;

	@Column(name="BUILDING_PHASE")
	private String buildingPhase;

	@Column(name="CONTRACT_NUMBER")
	private BigDecimal contractNumber;

	@Column(name="CONTRACT_SERIES")
	private String contractSeries;

	@Column(name="CONTRACT_TYPE")
	private String contractType;

	@Column(name="COST_CONTRACT_DEDUCT_PO_ID")
	private String costContractDeductPoId;

	@Column(name="CREATED_BY")
	private String createdBy;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(name="DEDUCT_AMOUNT")
	private BigDecimal deductAmount;

	@Column(name="DEDUCT_FLAG")
	private String deductFlag;

	@Column(name="DEDUCT_NET_AMOUNT")
	private BigDecimal deductNetAmount;

	@Column(name="DEDUCT_QTY")
	private BigDecimal deductQty;

	@Column(name="DEDUCT_SEQ_NO")
	private BigDecimal deductSeqNo;

	@Column(name="FEE_AMOUNT")
	private BigDecimal feeAmount;

	@Column(name="FEE_RATE")
	private BigDecimal feeRate;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="PAY_DEDUCT")
	private BigDecimal payDeduct;

	@Column(name="PAY_FEE")
	private BigDecimal payFee;

	@Column(name="PAY_NET_DEDUCT")
	private BigDecimal payNetDeduct;

	@Column(name="PO_AVG_RATE")
	private BigDecimal poAvgRate;

	@Column(name="REF_CONTRACT_NO")
	private BigDecimal refContractNo;

	@Column(name="REF_CONTRACT_SEQ")
	private BigDecimal refContractSeq;

	@Column(name="REF_CONTRACT_SERIES")
	private String refContractSeries;

	@Column(name="REF_CONTRACT_TYPE")
	private String refContractType;

	@Column(name="REF_CONTRACTOR_CODE")
	private String refContractorCode;

	@Column(name="REF_INSTALLMENT_NO")
	private BigDecimal refInstallmentNo;

	private String status;

	@Column(name="SYNC_CREATEDBY")
	private String syncCreatedby;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY")
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO")
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING")
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC")
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY")
	private String syncUpdatedby;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="UNIT_NUMBER")
	private String unitNumber;

	@Column(name="ZONE_CODE")
	private String zoneCode;

	public CostContractDeductPo() {
	}

	public CostContractDeductPoPK getId() {
		return this.id;
	}

	public void setId(CostContractDeductPoPK id) {
		this.id = id;
	}

	public String getArticleCode() {
		return this.articleCode;
	}

	public void setArticleCode(String articleCode) {
		this.articleCode = articleCode;
	}

	public String getBuildingPhase() {
		return this.buildingPhase;
	}

	public void setBuildingPhase(String buildingPhase) {
		this.buildingPhase = buildingPhase;
	}

	public BigDecimal getContractNumber() {
		return this.contractNumber;
	}

	public void setContractNumber(BigDecimal contractNumber) {
		this.contractNumber = contractNumber;
	}

	public String getContractSeries() {
		return this.contractSeries;
	}

	public void setContractSeries(String contractSeries) {
		this.contractSeries = contractSeries;
	}

	public String getContractType() {
		return this.contractType;
	}

	public void setContractType(String contractType) {
		this.contractType = contractType;
	}

	public String getCostContractDeductPoId() {
		return this.costContractDeductPoId;
	}

	public void setCostContractDeductPoId(String costContractDeductPoId) {
		this.costContractDeductPoId = costContractDeductPoId;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public BigDecimal getDeductAmount() {
		return this.deductAmount;
	}

	public void setDeductAmount(BigDecimal deductAmount) {
		this.deductAmount = deductAmount;
	}

	public String getDeductFlag() {
		return this.deductFlag;
	}

	public void setDeductFlag(String deductFlag) {
		this.deductFlag = deductFlag;
	}

	public BigDecimal getDeductNetAmount() {
		return this.deductNetAmount;
	}

	public void setDeductNetAmount(BigDecimal deductNetAmount) {
		this.deductNetAmount = deductNetAmount;
	}

	public BigDecimal getDeductQty() {
		return this.deductQty;
	}

	public void setDeductQty(BigDecimal deductQty) {
		this.deductQty = deductQty;
	}

	public BigDecimal getDeductSeqNo() {
		return this.deductSeqNo;
	}

	public void setDeductSeqNo(BigDecimal deductSeqNo) {
		this.deductSeqNo = deductSeqNo;
	}

	public BigDecimal getFeeAmount() {
		return this.feeAmount;
	}

	public void setFeeAmount(BigDecimal feeAmount) {
		this.feeAmount = feeAmount;
	}

	public BigDecimal getFeeRate() {
		return this.feeRate;
	}

	public void setFeeRate(BigDecimal feeRate) {
		this.feeRate = feeRate;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getPayDeduct() {
		return this.payDeduct;
	}

	public void setPayDeduct(BigDecimal payDeduct) {
		this.payDeduct = payDeduct;
	}

	public BigDecimal getPayFee() {
		return this.payFee;
	}

	public void setPayFee(BigDecimal payFee) {
		this.payFee = payFee;
	}

	public BigDecimal getPayNetDeduct() {
		return this.payNetDeduct;
	}

	public void setPayNetDeduct(BigDecimal payNetDeduct) {
		this.payNetDeduct = payNetDeduct;
	}

	public BigDecimal getPoAvgRate() {
		return this.poAvgRate;
	}

	public void setPoAvgRate(BigDecimal poAvgRate) {
		this.poAvgRate = poAvgRate;
	}

	public BigDecimal getRefContractNo() {
		return this.refContractNo;
	}

	public void setRefContractNo(BigDecimal refContractNo) {
		this.refContractNo = refContractNo;
	}

	public BigDecimal getRefContractSeq() {
		return this.refContractSeq;
	}

	public void setRefContractSeq(BigDecimal refContractSeq) {
		this.refContractSeq = refContractSeq;
	}

	public String getRefContractSeries() {
		return this.refContractSeries;
	}

	public void setRefContractSeries(String refContractSeries) {
		this.refContractSeries = refContractSeries;
	}

	public String getRefContractType() {
		return this.refContractType;
	}

	public void setRefContractType(String refContractType) {
		this.refContractType = refContractType;
	}

	public String getRefContractorCode() {
		return this.refContractorCode;
	}

	public void setRefContractorCode(String refContractorCode) {
		this.refContractorCode = refContractorCode;
	}

	public BigDecimal getRefInstallmentNo() {
		return this.refInstallmentNo;
	}

	public void setRefInstallmentNo(BigDecimal refInstallmentNo) {
		this.refInstallmentNo = refInstallmentNo;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public String getZoneCode() {
		return this.zoneCode;
	}

	public void setZoneCode(String zoneCode) {
		this.zoneCode = zoneCode;
	}

}